package com.xyy.saas.payment.cores.vo;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * 个人开户
 */
@Getter
@Setter
public class PersonalAccountCreateVo implements Serializable {
    private static final long serialVersionUID = -2873374115443923069L;

    /**
     * 个人身份证正面 个人必填 图片BASE64 编码，编码后的大小不能超过 500k
     * 注意：请删除开头的：data:image/{{PIC_FMT}};base64, 字符串之后再提交
     */
    private String personalIdCardFrontUrl;

    /**
     * 个人身份证背面 个人必填 图片BASE64 编码，编码后的大小不能超过 500k
     * 具体视场景而定（注意：请删除开头的：data:image/{{PIC_FMT}};base64, 字符串之后再提交
     */
    private String personalIdCardBackUrl;

    /**
     * 图片格式。 可选：png、jpg
     */
    private String picFmt;

    /**
     * 账户渠道选择 目前仅支持aggregate
     */
    private String accountChannel;

    /**
     * 姓名
     */
    private String name;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 证件类型
     */
    private String certType;

    /**
     * 身份证号
     */
    private String cardId;

    /**
     * 身份证起始日期 格式：yyyy-mm-dd
     */
    private String validFrom;

    /**
     * 身份证结束日期，格式：yyyy-mm-dd。如长期有效，请上送2999-12-31
     */
    private String validUntil;

    /**
     * 职业
     */
    private String profession;

    /**
     * 接口调用方的业务类型, 支付平台分配
     */
    private String businessIdType;

    /**
     * 接口调用方的用户id
     */
    private String businessUserId;

    /**
     * 经营地址省
     */
    private String businessProvince;
    /**
     * 经营地址市
     */
    private String businessCity;
    /**
     * 经营地址区/县
     */
    private String businessDistrict;
    /**
     * 经营详细地址
     */
    private String businessAddress;

    /**
     * 身份证地址
     */
    private String address;

    /**
     * 用户性别
     */
    private String genderEnum;

    /**
     * 接收者银行账号/卡号
     */
    private String account;

    /**
     * 收款者银行开户名
     */
    private String settleName;

    /**
     * 银行卡预留手机号
     */
    private String settleMobile;

    /**
     * 银行名称(无需填写到支行)
     */
    private String openBank;
    /**
     * 银行编码
     */
    private String openBankCode;

   /**
    * 银行卡号类型
    */
    private String cardType;

    /**
     * 开户行名称
     */
    private String subBank;

    /**
     * 开户行行号
     */
    private String subBankCode;

    /**
     * 结算用户创建成功通知地址
     */
    private String callbackAddress;

    /**
     * 业务内部用户名称
     */
    private String businessUserName;

    /**
     * 额外参数 map 转 json 格式
     * ******************************
     * 富民需要手机验证码
     * key: activeCode
     * ******************************
     */
    private String extra;

    /**
     * 授权函
     */
    private String certificateUrl;

    /**
     * 老的业务商户编号，荷叶洗数据用
     */
    private String oldBusinessUserId;
}
